Embedded optimization algorithm of parameters to drive deployment mechanism for displays

ABSTRACT

A deployment system for a device of a vehicle is described. The deployment system includes a non-transitory computer readable medium to store instructions of the deployment system and a processor configured to execute the instructions. The processor is configured to deploy the device using a parameter, determine a Mean Square Error (MSE), and run a Statistical Process Control (SPC) test on the MSE. The processor is further configured to determine that no special event is present and process a new parameter using the parameter and the SPC test results. An evolutionary operation (EVOP) algorithm is also used to calculate the new parameter.

BACKGROUND

Vehicles include devices, such as displays or head-up displays (HUDs), which are repositioned for different occupants. Such deployment of these devices causes the mechanical components of the devices to wear out. There is a need for a smart system with a deployment mechanism for deploying the device to a new position, and continuously improving the deployment while taking into account potential interactions with the device environment (e.g. mechanical constraints, vibrations, etc.) and discrepancies between target and actual parameters of the device. This system would also account for manufacturing variations of such devices.

SUMMARY

This section provides a general summary of the present disclosure and is not a comprehensive disclosure of its full scope or all of its features, aspects, and objectives.

Disclosed herein are implementations of a deployment system for a device. The deployment system includes a non-transitory computer readable medium to store instructions of the deployment system and a processor configured to execute the instructions. The processor is configured to deploy the device using one or more parameters, determine a Mean Square terror (MSE) of the system response versus target, and run a Statistical Process Control (SPC) test on the MSE. The processor is further configured to determine that no special event is present and adjust the one or more parameters.

Also disclosed herein are implementations of a deployment system for a vehicle having a microprocessor, a sensor, and a head-up display (HUD). The microprocessor is configured to execute instructions stored on a non-transitory computer readable medium. The sensor is coupled to the microprocessor and configured to receive information of surroundings of the deployment system. The HUD is coupled to the microprocessor. The microprocessor is further configured to initiate a target response for an occupant of the vehicle and deploy the HUD using the target response. The microprocessor is further configured to measure a real-time response of the HUD during deployment and compute a Mean Square Error (MSE) using the target response and the real-time response. The microprocessor then determines using a EVOP algorithm the new parameters for deployment of the HUD using the MSE and recorded parameters and responses from previous iterations.

Also disclosed herein are implementations of a method for deploying a display. The method includes performing deployment using one or more parameters, determining a Mean Square Error (MSE), and running a Statistical Process Control (SPC) test on the MSE. The method further includes determining that no special event is present and processing new parameters using historical data, the MSE, and the SPC test results.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is best understood from the following detailed description when read in conjunction with the accompanying drawings. It is emphasized that, according to common practice, the various features of the drawings are not to-scale. On the contrary, the dimensions of the various features are arbitrarily expanded or reduced for clarity.

FIG. 1 is a simplified block diagram depicting exemplary components of the system in accordance with one aspect of the present disclosure;

FIG. 2 is a flow chart illustrating an exemplary process of the system in accordance with one aspect of the present disclosure;

FIG. 3 is a graph of a target speed and a measured speed of a display in accordance with one aspect of the present disclosure;

FIG. 4 is a flow chart illustrating an exemplary process of the system in accordance with one aspect of the present disclosure; and

FIG. 5 is a graph of an Evolutionary Operation (EVOP) algorithm in accordance with one aspect of the present disclosure.

DETAILED DESCRIPTION

The following description is merely exemplary in nature and is not intended to limit the disclosure in its application or uses. For purposes of clarity, the same reference numbers are used in the description and drawings to identify similar elements.

FIG. 1 is an illustrative block diagram depicting exemplary components of the system 100 in accordance with one aspect of the present disclosure. The system 100 may include additional and/or fewer components and is not limited to those illustrated in FIG. 1. The system 100 includes a control unit 102. The control unit 102 includes various components such as at least one microprocessor or processor 104, a memory 106, and an input/output 108. The control unit 102 may process the data captured by the sensor 112 to identify the environment surrounding the system 100, or more particularly of the display 110. The sensor 112 may capture the actual position and/or speed of the display 110. The control unit 102 may process the actual position and/or speed of the display 110 within that environment. The control unit 102 processes data of the environment, like mechanical constraints or vibration that are captured by the sensor 111 The memory 106 stores data of the positions of the display 110. Using the record of previous positions of the display 110 and a new set of parameters, the processor 104 provides the new parameters to the display 110 to drive the deployment mechanism for the display 110.

The processor 104 is a device that processes signals and performs general computing and arithmetic functions. The processor 104 may include multiple single and multicore processors, co-processors, and architectures. The memory 106 may include a variety of memory, such as volatile memory and non-volatile memory. The memory 106 may also include a disk, such as but not limited to a flash memory card, a memory stick, a magnetic disk drive, a solid state disk drive, a CR-ROM, or a DVD ROM. The memory 106 may store a system that controls resources of a computing device and software that the processor 104 executes. The processor 104 and memory 106 are operatively coupled. The processor 104 performs processes by executing software instructions stored by the memory 106. The processes may include capturing data of the environment surrounding the display 110. The processes may include capturing data of the actual speed when the display 110 is deploying and the actual position of the display 110. The processes may also include determining the angle of the display 110. The processes may further include computing a metric measuring a Mean Square Error (MSE) while the display 110 is deploying. The processes may also include calculating the parameters for the next deploy of the display 110, which improves the processes.

The processor 104 and the memory 106 communicate through the input/output 108. The input/output 108 is a part of the system 100 and communicates with the sensor 112 and the display 110. The data captured by the sensor 112 is input to processor 104 for processing and outputting to the display 110 for providing display deployment assistance to optimize the position of the display 110 for an occupant of a vehicle.

The memory 106 stores an optimization algorithm having software parameters to drive a deployment mechanism for the display 110. The optimization algorithm is embedded in the software of the display 110. The embedded optimization algorithm may be used with any mechanism that deploys the display 110. The position of the display 110 may be captured in actual time and stored in the memory 106. The speed of the display 110 as it deploys may be measured in actual time and stored in the memory 106. The display 110 includes the deployment mechanism for deploying the display 110. Each time the deployment mechanism is used in the vehicle for deploying the display 110 to a new position, a new set of software parameters is tested. Small variations of the system response are detected by sensor 112. The small variations may be undetectable by the occupant. The processor 104 computes a metric measuring the MSE during this deployment. Using the result and the record of previous deploys, together with using an Evolutionary Operation (EVOP) algorithm and a Statistical Process Control (SPC), the processor 104 calculates the parameters for the next deploy of the display 110. The embedded optimization algorithm is continuously improving the metric and the parameters to provide optimal performance to the occupant during the lifecycle of the display 110. The optimal performance reduces the wear of the deployment mechanism, because the wear of the mechanical components of the deployment mechanism are dynamically compensated by the embedded optimization algorithm. Furthermore, each time the display 110 is deployed, the embedded optimization algorithm measures the performance of the display 110 for evolutionary optimization.

The optimization algorithm can be embedded into a variety of devices. The embedded optimization algorithm includes an initial parameter setting, such as a set point (SP). The parameters may include PID coefficients (e.g. proportional, integral, and/or derivative coefficients) The parameters change using the particular device and the embedded optimization algorithm will evolve to find the device's particular optimum parameters (e.g. process variables (PV)). The embedded optimization algorithm also accounts for potential interactions of the device with the environment, for example, mechanical constraints and vibration. The embedded optimization algorithm computes these influences and adapts continuously to the environment.

FIG. 2 illustrates an exemplary process 200 of the system 100. Step 202 includes at least one parameter of an occupant or driver of a vehicle. The parameters can be identified by x₁, x₂, . . . x_(n). Using the parameters, at step 204, the processor 104 provides instructions to a deployment mechanism, such as a motor. For example, the embedded optimization algorithm uses the parameters x₁, x₂, . . . x_(n) to drive the motor for deployment of the display 110. Each parameter has initial values and boundaries that define the design space for optimizing the deployment. At step 206, the sensor 112, such as a Hall sensor, is used to capture position and/or speed of the display 110. If the sensor captures data that changes the parameters, the values and boundaries defined may also change. Process 200 may continue to step 202 and evaluate the parameters and continue the process. Process 200 may continue to step 208 to drive the motor to deploy the display 110. The embedded optimization algorithm modifies the parameters driving the deployment device so that process 200 provides smooth, precise, and repeatable deployments of the display 110.

FIG. 3 illustrates a graph 300 of a speed profile 302 of the display 110, including a target speed 304 and a measured speed 306. At each time interrupt, the processor 104 calculates an error e_(i) between the target speed 304 and the measured speed 306. For each deployment j of the display 110, such as a head-up display (HUD), the processor 104 calculates the MSE of the target speed 304 and the measured speed 306. The parameters x₁(j), x₂(j), . . . . x_(n)(j) include a response MSE(j). The equation for this calculation is as follows:

${MSE} = \frac{\sum e_{i}^{2}}{df}$

FIG. 4 illustrates an exemplary process 400 of the embedded optimization algorithm of the system 100. Process 400 begins with establishing the default parameters at step 402. The parameters are identified by x₁(0), x₂(0), . . . x_(n)(0). After the default parameters are established, process 400 proceeds to step 404. At step 404, deployment j with parameters x₁(j), x₂(j), . . . x_(n)(j) are performed. The processor 104 calculates a response MSE(j), the MSE is the sum of the square of a speed error or a position error at each period divided by one less than the number of period. At step 406, a SPC test is run on the response MSE(j) using an exponentially weighted moving average (EWMA) method. The EWMA method uses a type of infinite impulse response filter that applies weighting factors which decrease exponentially. The weighting for each older datum decreases exponentially without reaching zero.

The SPC is used on the MSE to determine if a special event occurred during the deployment of the display 110. If a special event occurred during deployment, the last result is discarded. In other words, if the response MSE(j) is out of control, there is a special event and process 400 returns to step 404 to redo the deployment j. If the response MSE(j) is in control, meaning that there is no special event, process 400 proceeds to step 408. At step 408, a EVOP algorithm is used to calculate x_(j)(j+1), x₂(j+1), . . . x_(n)(j+1) using a previous n+1 in the control results. At step 410, the deployment j is adjusted to j+1. The parameters from the last n+1 records and the corresponding measures of the MSE are recorded and stored in memory 106. After deployment j is adjusted, process 400 proceeds to step 404 to perform the deployment j and the response. Process 400 continues until it stops. Process 400 may stop when the vehicle is turned off or after a period of time, and resume when the vehicle is turned on.

FIG. 5 illustrates a graph 500 of an evolutionary operation, or EVOP 502, of the system 100. In this embodiment, the EVOP 502 has two parameters X1 and X2. Each vertex, for example vertex 1-6, is represented by a dot on the graph 50. Vertex 1, 2, 3 are the initial vertexes. The value of X1 and X2 may be adjusted from 0 to 100. The curves, for example curves 504, 506, 508, represent a contour plot of the MSE. During the first three moves, e.g. from vertex 1 to vertex 2 to vertex 3, the MSE is calculated for each of the three vertexes. After the MSE is calculated, the vertex moves toward an optimal area 510 for the particular device having the embedded optimization algorithm. When a vertex (e.g. vertex 512) reaches the optimal area 510, the vertex 512 oscillates around the optimal area 510 until a condition changes. For example, if wear on the deployment mechanism or another influence is detected, the system behavior changes and the optimal area 510 will move to a more optimal area. In other words, the embedded optimization algorithm will adapt and the vertex will move to a new optimal area.

The new set of parameters (e.g., the vertex) is calculated using the valid last n+1 deployments using EVOP 502. In another embodiment, a different variant of EVOP 502 is used. For example, using a variable of fixed step size. One implementation of EVOP 502 is to 1) rank the MSE and 2) obtain a new vertex. For step 1, a Vertex W is the vertex with a higher MSE and a Vertex_G is the mean of all other vertexes. For step 2, the new vertex is calculated as follows: New Vertex=2*Vertex_G−Vertex⁻W. Basically, optimal parameters are determined and implemented as static parameters. To dynamically adapt to a change of the device, the records of the MSE are refreshed. For example, records of the MSE older than 100 deploys or one month are actualized. The EVOP 502 may include additional and/or fewer steps and is not limited to those illustrated ifs this disclosure.

While the disclosure has been described in connection with certain embodiments, it is to be understood that the disclosure is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims, which scope is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures as is permitted under the law. 

What is claimed is:
 1. A deployment system for a display of a vehicle, comprising: a non-transitory computer readable medium to store instructions of the deployment system; and a processor configured to execute the instructions, the processor being configured to: deploy the display using a parameter, wherein the parameter includes at least a deployment speed of the display; determine a Mean Square Error (MSE); run a Statistical Process Control (SPC) test on the MSE, wherein the SPC test run on the MSE includes using an exponentially weighted moving average (EWMA) method to generate SPC test results; determine that no special event is present based upon the SPC test results on the MSE; and process a new parameter using the parameter and the SPC test results to deploy the display using the new parameter.
 2. The deployment system of claim 1, wherein the processor is further configured to: determine that a special event is present based upon the SPC test results on the MSE; and repeat deployment of the display using the parameter.
 3. The deployment system of claim 1, wherein the processor is further configured to: initiate a default parameter; deploy the display using the default parameter; and process the new parameter using the default parameter and the SPC test results to deploy the display using the new parameter.
 4. The deployment system of claim 1, wherein processing the new parameter using the parameter and the SPC test results includes using an evolutionary operation (EVOP) algorithm to calculate the new parameter.
 5. The deployment system of claim 1, wherein the display is a head-up display (HUD).
 6. The deployment system of claim 1, wherein the deployment mechanism further comprises a motor for deploying the display.
 7. The deployment system of claim 1, further comprising: a sensor to capture at least one of an actual speed of deploying the display and an actual position of the display.
 8. The deployment system of claim 7, wherein the processor is further configured to determine the MSE using at least one of the actual speed of deploying the display versus a target speed of deploying the display and the actual position of the display versus a target position of the display.
 9. A deployment system for a display of a vehicle, comprising: a microprocessor coupled to the display, the microprocessor being configured to execute instructions stored on a non-transitory computer readable medium; and a sensor coupled to the microprocessor and configured to identify the environment surrounding the deployment system; wherein the microprocessor is further configured to: initiate a target parameter for deployment of the display to optimize the position of the display for an occupant of the vehicle, wherein the target parameter includes at least a target speed of the display; deploy the display using the target parameter; measure an actual parameter of the display during deployment wherein the actual parameter includes at least an actual speed of the display; compute a Mean Square Error (MSE) using the target parameter and the actual parameter; and determine a new parameter for deployment of the display using the MSE, wherein the microprocessor is further configured to use an evolutionary operation (EVOP) algorithm and a Statistical Process Control (SPC) test to determine the new parameter.
 10. The deployment system of claim 9, wherein the actual parameter further comprises at least one of the actual speed of the display and the actual position of the display.
 11. The deployment system of claim 9, wherein the identification of the environment surrounding the deployment system includes identification of at least one of mechanical constraints and vibrations of the display.
 12. The deployment system of claim 9, wherein the deployment mechanism further comprises a motor for deploying the display.
 13. The deployment system of claim 9, wherein the processor is further configured to determine the MSE using at least one of the actual speed of deploying the display versus a target speed of deploying the display and the actual position of the display versus a target position of the display.
 14. A method for deploying a display, comprising: performing deployment of the display using a parameter, wherein the parameter includes at least a speed of deployment of the display; determining a Mean Square Error (MSE); running a Statistical Process Control (SPC) test on the MSE to generate SPC test results; determining that no special event is present based upon the SPC test results on the MSE; and processing a new parameter for deploying the display using the parameter and the SPC test results.
 15. The method of claim 14, wherein the running the SPC test on the MSE includes using an exponentially weighted moving average (EWMA) method.
 16. The method of claim 14, further comprising: determining that a special event is present; and repeating deployment of the display using the parameter and the SPC test results on the MSE.
 17. The method of claim 14, further comprising: initiating a default parameter, wherein the default parameter includes at least one of a target speed of the display and a target position of the display; performing deployment of the display using the default parameter; and processing the new parameter for deploying the display using the default parameter and the SPC test results on the MSE.
 18. The method of claim 14, wherein processing a new parameter for deploying the display using the parameter and the SPC test results includes using an evolutionary operation (EVOP) algorithm to calculate the new parameter.
 19. The method of claim 14, wherein determining the MSE calculates an actual speed of deploying the display versus a target speed of deploying the display.
 20. The method of claim 14, wherein determining the MSE calculates an actual position of the display versus a target position of deploying the display. 